package com.ny.zmb.glxt.tim;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ny.zmb.openapi.entity.PmProductOrder;
import com.ny.zmb.openapi.mapper.PmProductOrderMapper;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.List;

/**
 * createAuthor : Xmw
 * createTime : 2024-10-30 8:45
 */
@Component
public class QrshSc {


    @Resource
    private PmProductOrderMapper orderMapper;

    // 每天凌晨0点执行一次
//    超过14天自动确认收货
//    每天凌晨0点执行一次
    @Scheduled(cron = "0 0 0 * * ?")

    // 或者使用cron表达式
    // 注意：这里的cron表达式表示每两分钟执行一次
//    每两分钟执行一次
//    @Scheduled(cron = "0 0/2 * * * ?")
    public void QrshScRun() {
        System.out.println("执行定时器了");
        // 任务执行的代码

        QueryWrapper<PmProductOrder> orderQueryWrapper = new QueryWrapper<>();

        // 获取当前时间戳
        Instant now = Instant.now();

        // 加上14天
        Instant plus14Days = now.plus(14, ChronoUnit.DAYS);

        // 获取加上14天后的时间戳（毫秒）
        long timePlus14DaysMillis = plus14Days.toEpochMilli();

//        已支付状态
        orderQueryWrapper.eq("status", "1");
//        已发货状态
        orderQueryWrapper.eq("ship_status", "1");
//        已支付 已发货 大于14天的
        orderQueryWrapper.gt("pay_time", timePlus14DaysMillis);

        final List<PmProductOrder> pmProductOrders = orderMapper.selectList(orderQueryWrapper);

        for (PmProductOrder pmProductOrder : pmProductOrders) {
            //调用李总监给的确认收货接口
            System.out.println(pmProductOrder.getOrderNo() + "----------------------1");

        }

    }


}
